Model Deployment এবং API তৈরি হল একটি মেশিন লার্নিং মডেলকে উৎপাদন পরিবেশে উপলব্ধ করার এবং ব্যবহারকারীদের জন্য অ্যাক্সেসযোগ্য করার দুটি গুরুত্বপূর্ণ প্রক্রিয়া। এখানে আমরা Flask এবং FastAPI ব্যবহার করে মডেল ডিপ্লয়মেন্ট এবং API তৈরির প্রক্রিয়া নিয়ে আলোচনা করব।
Model Deployment
Model Deployment হল একটি প্রক্রিয়া যেখানে একটি প্রশিক্ষিত মডেলকে ব্যবহারকারীদের জন্য প্রস্তুত করা হয়, যাতে তারা API বা অন্য মাধ্যমে সেই মডেলটিকে অ্যাক্সেস করতে পারে।
API তৈরি করার পদ্ধতি
১. Flask ব্যবহার করে API তৈরি করা
Flask একটি সহজ এবং জনপ্রিয় মাইক্রো ওয়েব ফ্রেমওয়ার্ক।
প্রয়োজনীয় লাইব্রেরি ইনস্টল করা:
pip install flask joblib
মডেল প্রশিক্ষণ এবং Serialization:
import joblib
from sklearn.ensemble import RandomForestClassifier
# মডেল তৈরি এবং প্রশিক্ষণ
model = RandomForestClassifier()
# Assume X_train, y_train are your training datasets
model.fit(X_train, y_train)
# মডেল Serializing
joblib.dump(model, 'model.pkl')
Flask API তৈরি করা:
from flask import Flask, request, jsonify
import joblib
app = Flask(__name__)
model = joblib.load('model.pkl') # লোড করা মডেল
@app.route('/predict', methods=['POST'])
def predict():
data = request.get_json(force=True)
prediction = model.predict([data['input']])
return jsonify(prediction.tolist())
if __name__ == '__main__':
app.run(debug=True)
API কল করা: আপনি API-কে কল করতে পারেন Postman বা Curl ব্যবহার করে। উদাহরণস্বরূপ:
curl -X POST http://127.0.0.1:5000/predict -H "Content-Type: application/json" -d '{"input": [1.0, 2.0, 3.0]}'
২. FastAPI ব্যবহার করে API তৈরি করা
FastAPI একটি আধুনিক, দ্রুত (high-performance) ওয়েব ফ্রেমওয়ার্ক যা API তৈরির জন্য বিশেষভাবে ডিজাইন করা হয়েছে।
প্রয়োজনীয় লাইব্রেরি ইনস্টল করা:
pip install fastapi uvicorn joblib
মডেল প্রশিক্ষণ এবং Serialization: (এটি পূর্ববর্তী Flask উদাহরণের মতোই, মডেলকে প্রশিক্ষণ ও সংরক্ষণ করতে হবে।)
FastAPI API তৈরি করা:
from fastapi import FastAPI
from pydantic import BaseModel
import joblib
app = FastAPI()
model = joblib.load('model.pkl') # লোড করা মডেল
class InputData(BaseModel):
input: list[float]
@app.post('/predict')
def predict(data: InputData):
prediction = model.predict([data.input])
return {'prediction': prediction.tolist()}
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8000)
API কল করা: FastAPI API-কে কল করার জন্যও আপনি Postman বা Curl ব্যবহার করতে পারেন:
curl -X POST http://127.0.0.1:8000/predict -H "Content-Type: application/json" -d '{"input": [1.0, 2.0, 3.0]}'
সারসংক্ষেপ
Model Deployment এবং API তৈরি হল মেশিন লার্নিং মডেলকে উৎপাদন পরিবেশে উপলব্ধ করার জন্য অপরিহার্য প্রক্রিয়া। Flask এবং FastAPI উভয়ই মডেল সার্ভ করার জন্য কার্যকর এবং জনপ্রিয় ফ্রেমওয়ার্ক। Flask সাধারণত সহজ এবং ব্যবহারকারী-বান্ধব, যেখানে FastAPI আধুনিক এবং উচ্চ কর্মক্ষমতার সাথে দ্রুত API তৈরির সুবিধা প্রদান করে। আপনার প্রয়োজন এবং প্রকল্পের চাহিদার উপর ভিত্তি করে যেকোনো একটি ফ্রেমওয়ার্ক ব্যবহার করতে পারেন।
Read more